#ifndef ASOWINDOW_H
#define ASOWINDOW_H
#include "ui_asowindow.h"
#include "aso_middle_layer.h"
#include "parameters_widget.h"
#include "sequenceviewer.h"

class AsoWindow : public QMainWindow
{
    Q_OBJECT
public:
    AsoWindow(QWidget* parent = 0);
    ~AsoWindow();

private:
    Ui::AsoWindowClass* window;
    PluginAdmin pluginAdmin;
    ParametersWidget* pluginParameters;
    SequenceViewer* sequenceView;
    QString dataBaseFile;
    QString pluginFile;
    QString sequenceFile;
    QString outputDir;

    void reloadPlugin();
    void connectSignals();
    void createActions();
    void initWindowValues();
    void showOutput(QString fileName);

private slots:
    void onLoadPluginPressed();
    void onLoadDataBasePressed();
    void onLoadSequencePressed();
    void onAboutClicked();
    void onRunProgram();
    void onResetPressed();
    void onPrintPressed();
    void onViewSeqPressed();

};

#endif // ASOWINDOW_H
